home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Topik
/
Topik - Disk 16 - KnowAboutIt (19xx)(Topik Public Domain)(PD)[WB].zip
/
Topik - Disk 16 - KnowAboutIt (19xx)(Topik Public Domain)(PD)[WB].adf
/
LogicSim
/
ReadMe
< prev
next >
Wrap
Text File
|
1989-10-01
|
5KB
|
86 lines
*** TOPIK Note : This very useful program is executable from the CLI, called
LSim in this directory. There are two examples called ff.drw and jk.drw
also.
As1-LSim v1.0 -- A Logic Simulator
As1*Software © 1989
by
Al Villarica
release 1.0 June 2
- no known bugs
- no Print yet
- Solder option not implemented yet
GENERAL
This program is a logic simulator. It allows one to create logic circuits
using an intuitive interface. After the circuit is created, it can then
be simulated. The program currently supports a very limited number of device
types. A future version will include more devices and possibly, the ability
to create new devices using a small language. All these additions will
greatly depend on the responses of people to the program. If you think it's
worth enhancing, tell me -- it's important for me to know. I can be reached
on Lattice's board (Al Villarica) or Chiphead's Delight 1-315-492-9071
(Al Villarica). Please redistribute this program wherever you can. If you
really really like it, I will accept any donations. Send them to
Al Villarica
408 Arnold Ave.,
Syracuse NY, 13210
Comments and bug reports will also be greatly appreciated.
DOCS
The program is pretty intuitive. If you want to add a new device, select
the Add Device from the menu. You can also delete devices, add lines,
delete lines, and rename devices, from the Edit menu. The File menu is
self-explanatory.
To connect two devices, just select the Add Lines from
the Edit menu, then click on an input, click whenever you want to make a turn,
and finally, click on another device's pin or on another line. If you have
any questions, don't be afraid to ask -- just leave me mail on any of the
two boards. If you wish to cancel the line you are working on, just
press the right mouse button.
In order to 'see' the outputs of any device, just add a Logic Probe and
connect it with a line to the output you want to monitor. If you want
to input into the circuit, then there is a User Input device. Again, just
connect this to anything you like.
When finished editing your circuit, choose the Go from the Simulate
menu. You can also increase the length of the simulation. The Resolution
is currently not supported.
The editor window is a virtual window. You can scroll it by using
the cursor keys on the keyboard. You can enter devices anywhere in this
virtual drawing space. The input and output windows are also 'virtual', in
that they can be scrolled if you have more inputs/outputs than can be seen
in the window.
The input window shows the state of the input lines presented to the
simulator. To change the values, just click on the line at the correct
position, then click again at another place, and the value will be changed.
I know the description above is really confusing, but I couldn't think of
any other way to describe it -- just try it, and you'll know how it works.
To cancel, click with the right mouse button again.
There are sample drawings with the .drw extension. Drawings need not have
the .drw extension, but it seemed like a good idea to have them.
LIMITATIONS/ENHANCEMENTS
Currently, the program does not allow more than 5 outputs to be connected
to an input. Of course, this would only be done if tri-state devices
were included -- these would come in a later version if I get enough
interest from you people out there (not necessarily donations, just interest).
The program does support propagation delays. For example, you could make
a flip-flop with two nands or two nors with cross inverted whatevers.
However, these propagation delays are the same for both HL and LH. Until
I find a way of modelling different propagation delays, it will have to
stay that way. If anyone can suggest a way of modelling prop delays,
hold-time, min clocking freq, setup-time, I would be very happy to hear
from you. If those things get implemented, then there will be a way to
actually check to make sure that something doesn't get overclocked, or the
signal doesn't break the necessary setup/hold/etc times. These would be
needed if devices such as RAMs, ROMs, microprocessors, etc. are added.
Of course, those devices will probably be simulated minimally -- that is,
they will simulate the interfaces to the real world, not necessarily the
exact functions. For instance, I could simulate the interface of a 68000
(*AS, *UDS, *LDS, R/W, and other pins) but not actually simulate the 68000
running a program. I could make the 68000 do a read cycle, a write cycle,
etc.